<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

</body>
<script>
  // 选择排序  
  // 依次按顺序  拿第一个和后面所有的比  如果存在比第一个还要小的值 交换位置 (小值放前面 => 从小到大)
  //            拿第二个和后面所有的比  如果存在比第二个还要小的值 交换位置 (小值放前面 => 从小到大)
  //            以此类推

  //  比完就直接换
  // var arr = [2,8,4,6,5,7,9,3,1];
  // for(var i=0;i<arr.length-1;i++){
  //     // i 每一轮和后面比较的值的下标
  //     for(var j = i + 1;j<arr.length;j++){
  //         if(arr[j] < arr[i]){
  //             var temp = arr[i];
  //             arr[i] = arr[j];
  //             arr[j] = temp;
  //         }
  //     }
  // }
  // console.log(arr);

  // 依次按顺序  拿第一个和后面所有的比  如果存在比第一个还要小的值 记录该值的下标(minIndex),继续拿minIndex对应的值和后面作比较 (小值放前面 => 从小到大)
  //            拿第二个和后面所有的比  如果存在比第二个还要小的值 记录该值的下标(minIndex),继续拿minIndex对应的值和后面作比较 (小值放前面 => 从小到大)
  // 升级版 从小到大排
  var arr = [2, 8, 4, 6, 5, 7, 9, 3, 1];
  debugger;
  for (var i = 0; i < arr.length - 1; i++) {
    // i 每一轮和后面比较的值的下标
    var minIndex = i; // 每一轮 记录当前值的下标
    for (var j = i + 1; j < arr.length; j++) {
      if (arr[j] < arr[minIndex]) {  // 如果存在比 这个值还要小的数 重新记录下标
        minIndex = j;
      }
    }
    // 将 每一轮对应下标的值  和 最小值进行交换
    var temp = arr[i];
    arr[i] = arr[minIndex];
    arr[minIndex] = temp;

  }
  console.log(arr);



  // var arr = [51, 74, 38, 27, 66, 90];
  // var min = arr[0];   
  // for(var i = 1;i < arr.length; i++){
  //     if(min > arr[i]){
  //         min = arr[i];
  //     }
  // }
  // console.log(min);

  // var arr = [51, 74, 38, 27, 66, 90];
  // var minIndex = 0;   
  // for(var i = 1;i < arr.length; i++){
  //     if(arr[minIndex] > arr[i]){
  //         minIndex = i;
  //     }
  // }
  // console.log(minIndex);







</script>

</html>